home *** CD-ROM | disk | FTP | other *** search
- //******************************************************************************
- // File: ItsxKeyFrame.h
- // Module: trueSpace eXtensions API
- // Descr: Declarations for the ItsxKeyFrame COM interface
- //******************************************************************************
-
-
- #ifndef ITSXKEYFRAME_H
- #define ITSXKEYFRAME_H
-
-
- #include "itsxcommon.h"
- #include "tsxcomtypes.h"
-
-
- #undef INTERFACE
- #define INTERFACE ItsxKeyFrame
-
-
- #define ITSXKEYFRAMEATTRIBUTEOFFSET 100
-
-
-
- enum ItsxKeyFrameAttribute {
-
- ItsxKeyFrameAttribute_Beginning = ITSXKEYFRAMEATTRIBUTEOFFSET,
- ItsxKeyFrameAttribute_Look,
- ItsxKeyFrameAttribute_Rotate,
- ItsxKeyFrameAttribute_Move,
- ItsxKeyFrameAttribute_Scale,
- ItsxKeyFrameAttribute_Deform,
- ItsxKeyFrameAttribute_Rectangle,
- ItsxKeyFrameAttribute_Color,
- ItsxKeyFrameAttribute_Surface,
- ItsxKeyFrameAttribute_Bump,
- ItsxKeyFrameAttribute_Texture,
- ItsxKeyFrameAttribute_Procedural,
- ItsxKeyFrameAttribute_Environment,
- ItsxKeyFrameAttribute_FacetAngle,
- ItsxKeyFrameAttribute_LightColor,
- ItsxKeyFrameAttribute_Background,
- ItsxKeyFrameAttribute_Global,
- ItsxKeyFrameAttribute_Fog,
- ItsxKeyFrameAttribute_Raytrace,
- ItsxKeyFrameAttribute_Plugin,
- ItsxKeyFrameAttribute_Nail,
- ItsxKeyFrameAttribute_Joint,
- ItsxKeyFrameAttribute_Kinematics,
- ItsxKeyFrameAttribute_Vertex,
- ItsxKeyFrameAttribute_Invisible,
- ItsxKeyFrameAttribute_End,
-
- };
-
-
- DECLARE_INTERFACE_(ItsxKeyFrame, IUnknown)
- {
- // IUnknown members
- STDMETHOD(QueryInterface) (THIS_ REFIID, PPVOID) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
-
- // ItsxKeyFrame members
- STDMETHOD(QueryScript) (THIS) PURE;
- STDMETHOD(CreateScript) (THIS) PURE;
- STDMETHOD(DestroyScript) (THIS) PURE;
- STDMETHOD(TreeQueryScript) (THIS) PURE;
- STDMETHOD(TreeCreateScript) (THIS) PURE;
- STDMETHOD(TreeDestroyScript) (THIS) PURE;
- STDMETHOD(SetFirstAttribute) (THIS) PURE;
- STDMETHOD(SetNextAttribute) (THIS) PURE;
- STDMETHOD(GetAttributeType) (THIS_ ItsxKeyFrameAttribute*) PURE;
- STDMETHOD(GetAttributeName) (THIS_ char**) PURE;
- STDMETHOD(CreateAttribute) (THIS_ ItsxKeyFrameAttribute) PURE;
- STDMETHOD(DestroyAttribute) (THIS) PURE;
- STDMETHOD(SetFirstKeyFrame) (THIS) PURE;
- STDMETHOD(SetNextKeyFrame) (THIS) PURE;
- STDMETHOD(SetPrevKeyFrame) (THIS) PURE;
- STDMETHOD(SetLastKeyFrame) (THIS) PURE;
- STDMETHOD(GetKeyFrameTime) (THIS_ float*) PURE;
- STDMETHOD(GetKeyFrameSplineParameters) (THIS_ float*, float*, float*) PURE;
- STDMETHOD(SetKeyFrameSplineParameters) (THIS_ float, float, float) PURE;
- STDMETHOD(CreateKeyFrame) (THIS) PURE;
- STDMETHOD(DestroyKeyFrame) (THIS) PURE;
- };
-
- // typedef a pointer to this interface
- typedef ItsxKeyFrame* PITSXKEYFRAME;
-
- // define a GUID for this interface
- // {C7FADE60-462B-11d1-A255-006097D15F58}
- DEFINE_GUID(IID_ItsxKeyFrame, 0xc7fade60, 0x462b, 0x11d1, 0xa2, 0x55, 0x0, 0x60, 0x97, 0xd1, 0x5f, 0x58);
-
-
- #endif // ITSXKEYFRAME_H